class Class {
    constructor(){
    }
}
class SubClass extends Class {
    constructor(){
        super();
    }
}
class D {
    constructor(){
    }
}
class SubD extends D {
    constructor(){
        super();
    }
}
function d0({ x  } = {
    x: new Class()
}) {
}
function d1({ x  }) {
}
function d2({ x  }) {
}
function d3({ y  }) {
}
function d4({ y  } = {
    y: new D()
}) {
}
var obj = new Class();
d0({
    x: 1
});
d0({
    x: {
    }
});
d0({
    x: "string"
});
d1({
    x: new Class()
});
d1({
    x: {
    }
});
d1({
    x: "string"
});
d2({
    x: new SubClass()
});
d2({
    x: {
    }
});
d3({
    y: new SubD()
});
d3({
    y: new SubClass()
});
// Error
d3({
    y: new Class()
});
d3({
});
d3({
    y: 1
});
d3({
    y: "world"
});
